home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c-part1 / 7001 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  1.6 KB

  1. Path: keats.ugrad.cs.ubc.ca!not-for-mail
  2. From: c2a192@ugrad.cs.ubc.ca (Kazimir Kylheku)
  3. Newsgroups: comp.lang.c
  4. Subject: Re: C constant expression declarations
  5. Date: 16 Feb 1996 18:47:42 -0800
  6. Organization: Computer Science, University of B.C., Vancouver, B.C., Canada
  7. Message-ID: <4g3fkeINNoj7@keats.ugrad.cs.ubc.ca>
  8. References: <31229735.41C67EA6@isi.com> <4fvl5cINN94q@keats.ugrad.cs.ubc.ca> <4g2nha$ksa@sun001.spd.dsccc.com>
  9. NNTP-Posting-Host: keats.ugrad.cs.ubc.ca
  10.  
  11. In article <4g2nha$ksa@sun001.spd.dsccc.com>,
  12. Mike McCarty <jmccarty@spd.dsccc.com> wrote:
  13.  
  14. >I respectfully disagree with this statement. It buys two very important
  15. >things, to wit:
  16. >
  17. >    it builds a good habit of putting parens in, so that when they
  18. >        are needed they don't inadvertently get left out
  19. >
  20. >    it builds consistency, so that one gets a feeling that
  21. >        "something may be wrong here" when inspecting code for
  22. >        errors 
  23. >
  24. >I believe that (for the sake of creating and maintaining correct
  25. >programs) these are well worth the extra discipline (at first) and
  26. >compilation time for the cases where the parens are not strictly needed.
  27.  
  28. I put my extra discipline into consciously knowing what I'm doing. I _am_
  29. awake; I _did_ drink my coffee. I will not write things that don't _buy_
  30. anything. They obfuscate programs more than they help.
  31.  
  32. Parentheses are intended to override operator precedence, and to occasionally
  33. make a complex expression clearer to someone reading them; a proverbial icing
  34. on the cake of sorts.  
  35.  
  36. if (x == 3 || y > 4 && z < 5)  
  37.  
  38. is easier to read than
  39.  
  40. if ((x == 3) || ((y > 4) && (z < 5))) 
  41.  
  42.  
  43. -- 
  44.  
  45.